package com.ruoyi.orderadmin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.orderadmin.domain.OaShopDetail;
import com.ruoyi.useradmin.domain.UaUser;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.page.PageDomain;
import java.util.List;

/**
 * @Description  
 * @author kemonvvv
 * @Date 2023-06-07 
 */
public interface IOaShopDetailService{


    /**
     * 全查询
     * 
     * @param pageDomain 分页信息
     * @param oaShopDetail 要查询的实体类
     * @return 结果
     */
    Page<OaShopDetail> getOaShopDetailPage(PageDomain pageDomain, OaShopDetail oaShopDetail);
    /**
     * 查询通过id
     * 
     * @param id 实体类的主键
     * @return 结果
     */
    OaShopDetail getOaShopDetailById(Long id);
    /**
     * 通过类查询的属性值 id列表
     * @param oaShopDetail
     * @return
     */
    List<Long> getIdListByOaShopDetail(OaShopDetail oaShopDetail);

    /**
     * 通过uaUser外键idList查询idList
     *
     * @param uaUserIdList 要查询的实体类
     * @return 结果
     **/
    List<Long> getIdListByUaUserIdList(List<Long> uaUserIdList);


    /**
     * 通过oaShopDetailType外键idList查询idList
     *
     * @param oaShopDetailTypeIdList 要查询的实体类
     * @return 结果
     **/
    List<Long> getIdListByOaShopDetailTypeIdList(List<Long> oaShopDetailTypeIdList);


    /**
     * 通过shopType外键idList查询idList
     *
     * @param shopTypeIdList 要查询的实体类
     * @return 结果
     **/
    List<Long> getIdListByShopTypeIdList(List<Long> shopTypeIdList);


    /**
     * 添加
     * 
     * @param oaShopDetail 要添加的实体类
     * @return 结果
     */
    int insertOaShopDetail(OaShopDetail oaShopDetail);
    /**
     * 更新通过id进行更新一条
     * 
     * @param oaShopDetail 实体类
     * @return 结果
     */
    int updateOaShopDetailById(OaShopDetail oaShopDetail);
    /**
     * 删除通过id集合
     * 
     * @param idList id集合
     * @return 结果
     */
    int deleteOaShopDetailByIdList(List idList);
    /**
     * 查询无条件全部 用于导出
     * 
     * @return 结果
     */
    List<OaShopDetail> getOaShopDetailList();
     
}
